package com.hspedu.springcloud.entity;

/**
 * Created by Gening on 12/6/2025
 */
public class Result<T> {
  private String code;
  private String msg;
  private T data;

  public String getCode() {
    return code;
  }

  public void setCode(String code) {
    this.code = code;
  }

  public String getMsg() {
    return msg;
  }

  public void setMsg(String msg) {
    this.msg = msg;
  }

  public T getData() {
    return data;
  }

  public void setData(T data) {
    this.data = data;
  }
  public Result (){}

  public Result(T data){
    this.data=data;
  }

  public static Result success(){
    Result result = new Result<>();
    result.setCode("200");
    result.setMsg("success");
    return result;
  }

  public static Result error(){
    Result result = new Result<>();
    result.setCode("500");
    result.setMsg("error");
    return result;
  }

  public static <T> Result<T> success(T data){
    Result<T> tResult = new Result<>(data);
    tResult.setCode("200");
    tResult.setMsg("success");
    return tResult;
  }
  public static <T>Result<T> success(String msg,T data){
    Result<T> tResult = new Result<>(data);
    tResult.setCode("200");
    tResult.setMsg(msg);
    return tResult;
  }

  public static <T>Result<T> error(String code,String msg){
    Result result = new Result<>();
    result.setCode(code);
    result.setMsg(msg);
    return result;
  }
  public static <T>Result<T> error(String code,String msg,T data) {
    Result<T> result = new Result<>(data);
    result.setCode(code);
    result.setMsg(msg);
    return result;
  }
}
